home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1990-01-01 | 3.4 KB | 105 lines |
- 1 REM<UNK! {0009}>3-D TIC-TAC- TO E
- 2 REM BY BRIAN FAWCETT
- 3 REM<UNK! {0009}> (C)1984
- 5 WIDTH 40:KEY OFF:COLOR 15,0,0:C=8:R=14:XO=88:CL=9:N=1:DIM L(147)
- 10 CLS:LOCATE 1,13:COLOR 0,7:PRINT "3-D TIC-TAC-TOE":COLOR 4:LOCATE 2,13:PRINT "BY BRIAN FAWCETT":COLOR 15,0:PRINT:PRINT
- 20 PRINT:PRINT " X ENTER PLAYER NUMBER 1";:INPUT N$(1):IF LEN(N$(1))>18 THEN 20
- 30 PRINT:PRINT " O ENTER PLAYER NUMBER 2";:INPUT N$(2):IF LEN(N$(2))>18 THEN 30
- 35 FOR X=1 TO 147:READ L(X):NEXT
- 40 CLS:LOCATE 1,13:COLOR 0,7:PRINT "3-D TIC-TAC-TOE":COLOR 15,0
- 50 PRINT:PRINT:COLOR 4:PRINT " _________"
- 60 PRINT " / / / /"
- 70 PRINT " /--/--/--/"
- 80 PRINT " / / / /"
- 90 PRINT " /--/--/--/"
- 100 PRINT " / / / /"
- 110 PRINT " ---------"
- 120 COLOR 15:PRINT " _________"
- 130 PRINT " / / / /"
- 140 PRINT " /--/--/--/"
- 150 PRINT " / / / /"
- 160 PRINT " /--/--/--/"
- 170 PRINT " / / / /"
- 180 PRINT " ---------
- 190 COLOR 1:PRINT " _________"
- 200 PRINT " / / / /"
- 210 PRINT " /--/--/--/"
- 220 PRINT " / / / /"
- 230 PRINT " /--/--/--/"
- 240 PRINT " / / / /"
- 250 PRINT " ---------";
- 280 COLOR 7:LOCATE 8,24:PRINT "USE THESE KEYS"
- 290 LOCATE 9,23:PRINT "TO CONTROL"
- 300 LOCATE 10,22:PRINT "YOUR GAME PIECE."
- 310 LOCATE 12,31:PRINT CHR$(24)
- 320 LOCATE 13,30:PRINT CHR$(27);" ";CHR$(26)
- 330 LOCATE 14,31:PRINT CHR$(25)
- 340 LOCATE 15,30:PRINT "Home"
- 350 LOCATE 17,21:PRINT " ":BF=2
- 355 COLOR CL:LOCATE 17,21:PRINT N$(N)",":LR=2
- 360 LOCATE 18,21:PRINT "IT'S YOUR MOVE.":UD=2
- 365 LOCATE 20,19:PRINT "HIT <RETURN> TO MAKE"
- 366 LOCATE 21,18:PRINT "YOUR MOVE"
- 370 LOCATE R,C,0:COLOR 16,CL:PRINT CHR$(XO)
- 380 D$=INKEY$:IF D$=CHR$(13) THEN 570
- 383 IF LEN(D$)<2 THEN 370
- 385 D$=RIGHT$(D$,1)
- 390 IF ASC(D$)=72 THEN BF=BF+1:GOTO 460:REM BWD
- 400 IF ASC(D$)=75 THEN LR=LR+1:GOTO 480:REM LEFT
- 410 IF ASC(D$)=77 THEN LR=LR-1:GOTO 500:REM RIGHT
- 420 IF ASC(D$)=80 THEN BF=BF-1:GOTO 520:REM FWD
- 430 IF ASC(D$)=71 THEN UD=UD+1:GOTO 540:REM DOWN
- 450 GOTO 370
- 460 LOCATE R,C:COLOR 0,0:PRINT" "
- 470 C=C+2:R=R-2:IF BF>3 THEN BF=3:C=C-2:R=R+2
- 475 GOTO 370
- 480 LOCATE R,C:COLOR 0,0:PRINT" "
- 490 C=C-3:IF LR>3 THEN LR=3:C=C+3
- 495 GOTO 370
- 500 LOCATE R,C:COLOR 0,0:PRINT" "
- 510 C=C+3:IF LR<1 THEN LR=1:C=C-3
- 515 GOTO 370
- 520 LOCATE R,C:COLOR 0,0:PRINT" "
- 530 C=C-2:R=R+2:IF BF<1 THEN BF=1:C=C+2:R=R-2
- 535 GOTO 370
- 540 LOCATE R,C:COLOR 0,0:PRINT" "
- 550 R=R+7:IF BF=3 AND UD>3 THEN UD=1:R=5
- 555 IF BF=2 AND UD>3 THEN UD=1:R=7
- 560 IF BF=1 AND UD>3 THEN UD=1:R=9
- 565 GOTO 370
- 570 IF (SCREEN(R,C+1)=88) OR (SCREEN(R,C+1)=79) THEN 370
- 580 LOCATE R,C:COLOR 0,0:PRINT" "
- 590 LOCATE R,C+1:COLOR CL:PRINTCHR$(XO)
- 600 X=1:Y=2:Z=3:CA=0
- 604 R1=INT(L(X)/40):R2=INT(L(Y)/40):R3=INT(L(Z)/40):C1=(L(X) MOD 40):C2=(L(Y) MOD 40):C3=(L(Z) MOD 40)
- 610 IF (SCREEN(R1,C1)=XO)AND (SCREEN(R2,C2)=XO)AND(SCREEN(R3,C3)=XO) THEN 650
- 620 X=X+3:Y=Y+3:Z=Z+3:IF Z<148 THEN 604
- 623 CA=CA+1:R1=INT(L(CA)/40):C1=(L(CA) MOD 40):IF SCREEN(R1,C1)=32 THEN 630
- 625 IF CA<>29 THEN 623
- 627 COLOR 15,0:LOCATE 17,21:PRINT " CAT'S GAME ":LOCATE 18,21:PRINT SPACE$(16):LOCATE 20,19:PRINT SPACE$(21):GOTO 680
- 630 IF XO=88 THEN XO=79:C=8:R=14:CL=12:N=2:GOTO 350
- 640 IF XO=79 THEN XO=88:C=8:R=14:CL=9:N=1:GOTO 350
- 650 LOCATE 17,18:COLOR 15:PRINT N$(N);" HAS WON!":LOCATE 18,21:PRINT SPACE$(16):LOCATE 20,19:PRINT SPACE$(21):LOCATE 21,18:PRINTSPACE$(20)
- 660 LOCATE R1,C1:COLOR CL+16:PRINT CHR$(XO):LOCATE R2,C2:PRINT CHR$(XO):LOCATE R3,C3,0:PRINT CHR$(XO):COLOR 15,0
- 670 FOR X=1 TO 5000:NEXT
- 680 LOCATE 21,18:PRINT "ANOTHER GAME (Y/N)";:INPUT A$
- 690 IF (A$="Y")OR(A$="y") THEN RUN
- 695 CLS:RUN"FILES.BAS"
- 700 DATA 208,211,214,286,289,292,364,367,370
- 710 DATA 488,491,494,566,569,572,644,647,650
- 720 DATA 768,771,774,846,849,852,924,927,930
- 730 DATA 208,286,364,211,289,367,214,292,370
- 740 DATA 488,566,644,491,569,647,494,572,650
- 750 DATA 768,846,924,771,849,927,774,852,930
- 760 DATA 208,289,370,364,289,214,488,569,650
- 770 DATA 644,569,494,768,849,930,924,849,774
- 780 DATA 208,488,768,211,491,771,214,494,774
- 790 DATA 286,566,846,289,569,849,292,572,852
- 800 DATA 364,644,924,367,647,927,370,650,930
- 810 DATA 208,491,774,208,569,930,208,566,924
- 820 DATA 211,569,927,214,491,768,214,572,930
- 830 DATA 214,569,924,286,569,852,292,569,846
- 840 DATA 364,566,768,364,569,774,364,647,930
- 850 DATA 367,569,771,370,647,924,370,572,774
- 860 DATA 370,569,768
-